[INFO] cloning repository https://github.com/jmqd/billiards
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jmqd/billiards" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmqd%2Fbilliards", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmqd%2Fbilliards'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dea4581de0275bf7cc89b94d8e587b1f886a414c
[INFO] testing jmqd/billiards against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmqd%2Fbilliards" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  85% (536/627)
Updating files:  86% (540/627)
Updating files:  87% (546/627)
Updating files:  88% (552/627)
Updating files:  89% (559/627)
Updating files:  90% (565/627)
Updating files:  91% (571/627)
Updating files:  92% (577/627)
Updating files:  93% (584/627)
Updating files:  94% (590/627)
Updating files:  95% (596/627)
Updating files:  96% (602/627)
Updating files:  97% (609/627)
Updating files:  98% (615/627)
Updating files:  99% (621/627)
Updating files: 100% (627/627)
Updating files: 100% (627/627), done.
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/jmqd/billiards
[INFO] finished tweaking git repo https://github.com/jmqd/billiards
[INFO] tweaked toml for git repo https://github.com/jmqd/billiards written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jmqd/billiards on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jmqd/billiards already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6afa712d0aad7d258405c476980898d4e3afacbc6195066d32dc0565506459f7
[INFO] running `Command { std: "docker" "start" "-a" "6afa712d0aad7d258405c476980898d4e3afacbc6195066d32dc0565506459f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6afa712d0aad7d258405c476980898d4e3afacbc6195066d32dc0565506459f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6afa712d0aad7d258405c476980898d4e3afacbc6195066d32dc0565506459f7", kill_on_drop: false }`
[INFO] [stdout] 6afa712d0aad7d258405c476980898d4e3afacbc6195066d32dc0565506459f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 93658cb5b361b3f109aeddc0f487b235db60ee70f82540909dda3d9572c05181
[INFO] running `Command { std: "docker" "start" "-a" "93658cb5b361b3f109aeddc0f487b235db60ee70f82540909dda3d9572c05181", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling bytemuck v1.23.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling miniz_oxide v0.8.8
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling built v0.7.7
[INFO] [stderr]    Compiling aligned-vec v0.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling flate2 v1.1.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling bitstream-io v2.6.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling v_frame v0.3.8
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling imgref v1.11.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling wide v0.7.32
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling avif-serialize v0.8.3
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling zune-core v0.4.12
[INFO] [stderr]    Compiling ttf-parser v0.25.1
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling av1-grain v0.2.4
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling rgb v0.8.50
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling simba v0.8.1
[INFO] [stderr]    Compiling gif v0.13.1
[INFO] [stderr]    Compiling image-webp v0.2.1
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling v1.0.16
[INFO] [stderr]    Compiling owned_ttf_parser v0.25.0
[INFO] [stderr]    Compiling zune-jpeg v0.4.14
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling bigdecimal v0.4.8
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling clap_builder v4.5.55
[INFO] [stderr]    Compiling ab_glyph v0.2.29
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling winnow v0.7.10
[INFO] [stderr]    Compiling nalgebra v0.32.6
[INFO] [stderr]    Compiling clap v4.5.55
[INFO] [stderr]    Compiling ravif v0.11.12
[INFO] [stderr]    Compiling image v0.25.6
[INFO] [stderr]    Compiling imageproc v0.25.0
[INFO] [stderr]    Compiling billiards v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 04s
[INFO] running `Command { std: "docker" "inspect" "93658cb5b361b3f109aeddc0f487b235db60ee70f82540909dda3d9572c05181", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93658cb5b361b3f109aeddc0f487b235db60ee70f82540909dda3d9572c05181", kill_on_drop: false }`
[INFO] [stdout] 93658cb5b361b3f109aeddc0f487b235db60ee70f82540909dda3d9572c05181
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7e6e7a8cc707d139428fc403c36ef4d8b06116bbfb3b33b196ebde1f41dcc7a
[INFO] running `Command { std: "docker" "start" "-a" "e7e6e7a8cc707d139428fc403c36ef4d8b06116bbfb3b33b196ebde1f41dcc7a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_spanned v1.0.0
[INFO] [stderr]    Compiling toml_datetime v0.7.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling toml v0.9.5
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling trybuild v1.0.115
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling billiards v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 58.33s
[INFO] running `Command { std: "docker" "inspect" "e7e6e7a8cc707d139428fc403c36ef4d8b06116bbfb3b33b196ebde1f41dcc7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7e6e7a8cc707d139428fc403c36ef4d8b06116bbfb3b33b196ebde1f41dcc7a", kill_on_drop: false }`
[INFO] [stdout] e7e6e7a8cc707d139428fc403c36ef4d8b06116bbfb3b33b196ebde1f41dcc7a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cf4d64f0f64127d2c44e08b521e9c40215a227f57dc8929e4b296fe115d0e28b
[INFO] running `Command { std: "docker" "start" "-a" "cf4d64f0f64127d2c44e08b521e9c40215a227f57dc8929e4b296fe115d0e28b", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/billiards-11b2ced89598f4e9)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test assets::tests::given_the_current_table_asset_when_computing_the_ideal_ball_size_then_the_expected_sprite_diameter_is_returned ... ok
[INFO] [stdout] test assets::tests::given_known_table_anchor_positions_when_mapping_to_pixels_then_expected_anchor_pixels_are_returned ... ok
[INFO] [stdout] test dsl::tests::parse_alias_then_ball ... ok
[INFO] [stdout] test dsl::tests::parse_ball_at_coordinate ... ok
[INFO] [stdout] test dsl::tests::parse_ball_ball_config ... ok
[INFO] [stdout] test dsl::tests::parse_frozen_ball ... ok
[INFO] [stdout] test dsl::tests::parse_named_position ... ok
[INFO] [stdout] test dsl::tests::parse_rail_profile ... ok
[INFO] [stdout] test dsl::tests::parse_shot_scenario ... ok
[INFO] [stdout] test dsl::tests::parse_simulation_preset ... ok
[INFO] [stdout] test dsl::tests::rejects_unknown_alias ... ok
[INFO] [stdout] test pocket_mouth_tests::side_pocket_post_jaw_late_drop_gate_continues_across_slide_to_roll_transition ... ok
[INFO] [stdout] test drawing::tests::given_a_smooth_polyline_with_fewer_than_two_points_when_drawing_then_no_pixels_are_changed ... ok
[INFO] [stdout] test drawing::tests::given_a_horizontal_overlay_line_when_drawing_then_some_pixels_are_colored ... ok
[INFO] [stdout] test drawing::tests::given_a_smooth_polyline_with_two_points_when_drawing_then_some_pixels_are_colored ... ok
[INFO] [stdout] test drawing::tests::given_a_numeric_text_label_when_drawing_then_some_pixels_are_colored ... ok
[INFO] [stdout] test drawing::tests::given_a_circle_marker_overlay_when_drawing_then_some_pixels_are_colored ... ok
[INFO] [stdout] test drawing::tests::given_a_zero_length_overlay_line_when_drawing_then_no_pixels_are_changed ... ok
[INFO] [stderr]      Running unittests src/bin/aiming_test.rs (/opt/rustwide/target/debug/deps/aiming_test-828d038b1bcef059)
[INFO] [stdout] test drawing::tests::given_a_ghost_ball_overlay_when_drawing_then_some_pixels_are_colored ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.22s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/all_pockets.rs (/opt/rustwide/target/debug/deps/all_pockets-5370058efae78021)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/bank_path_demo.rs (/opt/rustwide/target/debug/deps/bank_path_demo-7893315d9337f852)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/billiards-ac8a3c94a7c0639c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/shot_probe.rs (/opt/rustwide/target/debug/deps/shot_probe-a65c1b8c28f792a1)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/advance_ball_state.rs (/opt/rustwide/target/debug/deps/advance_ball_state-8f989545e28f17cc)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test advancing_a_pure_spinning_ball_leaves_position_fixed_and_decays_z_spin_linearly ... ok
[INFO] [stdout] test advancing_a_rolling_ball_updates_position_speed_and_spin_consistently ... ok
[INFO] [stdout] test advance_within_phase_on_table_clamps_at_the_phase_boundary ... ok
[INFO] [stdout] test advancing_a_resting_ball_leaves_it_unchanged ... ok
[INFO] [stdout] test advancing_a_rolling_ball_with_vertical_spin_no_longer_curls_once_it_is_in_pure_rolling_motion ... ok
[INFO] [stdout] test advance_motion_on_table_reports_the_first_transition_crossed ... ok
[INFO] [stdout] test advancing_a_sliding_ball_with_vertical_spin_no_longer_curves_in_the_horizontal_on_table_model ... ok
[INFO] [stdout] test advancing_a_sliding_stun_ball_halfway_matches_the_section_7_3_linear_velocity_and_spin_equations ... ok
[INFO] [stdout] test advancing_by_zero_seconds_is_an_identity_operation ... ok
[INFO] [stdout] test advancing_past_the_predicted_stop_time_clamps_at_the_same_rest_state ... ok
[INFO] [stdout] test advancing_past_the_sliding_transition_continues_into_rolling_for_the_remaining_time ... ok
[INFO] [stdout] test airborne_inputs_are_rejected_by_try_motion_helpers ... ok
[INFO] [stdout] test advancing_a_sliding_stun_ball_to_the_transition_time_reaches_pure_rolling ... ok
[INFO] [stdout] test advancing_spin_on_table_depends_on_ball_state_and_total_spin ... ok
[INFO] [stdout] test the_curve_estimate_is_none_for_a_pure_rolling_state_with_residual_z_spin ... ok
[INFO] [stdout] test the_curve_estimate_is_none_for_a_sliding_state_with_only_vertical_spin_in_the_horizontal_model ... ok
[INFO] [stdout] test advancing_a_rolling_ball_with_vertical_spin_can_enter_the_spinning_phase ... ok
[INFO] [stdout] test advancing_by_the_predicted_stop_time_reaches_rest ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/advance_two_ball_events.rs (/opt/rustwide/target/debug/deps/advance_two_ball_events-a3da917dfc3b8b5a)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test advancing_with_no_future_event_returns_the_original_two_ball_state ... ok
[INFO] [stdout] test advancing_to_a_ball_ball_collision_resolves_the_immediate_post_collision_state ... ok
[INFO] [stdout] test advancing_to_a_motion_transition_advances_both_balls_to_that_time ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/aiming_geometry.rs (/opt/rustwide/target/debug/deps/aiming_geometry-4665f6ab534812d9)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test given_an_object_ball_and_pocket_when_calculating_the_aim_angle_then_the_pocket_helper_uses_the_pocket_opening_center ... ok
[INFO] [stdout] test given_an_object_ball_and_destination_when_locating_the_ghost_ball_then_it_sits_one_ball_diameter_behind_the_object_ball ... ok
[INFO] [stdout] test given_a_straight_in_shot_when_calculating_the_aim_angle_then_it_points_straight_at_the_ghost_ball ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/angles_and_units.rs (/opt/rustwide/target/debug/deps/angles_and_units-a69e7db8bab39ea9)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test given_an_angle_when_flipped_then_it_points_180_degrees_opposite ... ok
[INFO] [stdout] test given_cardinal_vectors_when_measuring_angles_from_north_then_expected_degrees_are_returned ... ok
[INFO] [stdout] test given_standard_table_when_converting_diamonds_to_inches_and_back_then_the_value_round_trips ... ok
[INFO] [stdout] test given_the_center_spot_when_checking_side_helpers_then_it_is_on_neither_side_of_either_axis ... ok
[INFO] [stdout] test given_positions_on_the_center_lines_when_checking_side_helpers_then_only_strict_relations_are_true ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api_invariants.rs (/opt/rustwide/target/debug/deps/api_invariants-914b2e2a7f80112f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]     Checking bytemuck v1.23.0
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling built v0.7.7
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking bitstream-io v2.6.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking weezl v0.1.10
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking imgref v1.11.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking avif-serialize v0.8.3
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking clap_lex v0.7.7
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking av1-grain v0.2.4
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking zune-jpeg v0.4.14
[INFO] [stderr]     Checking image-webp v0.2.1
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking clap_builder v4.5.55
[INFO] [stderr]     Checking exr v1.73.0
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling bigdecimal v0.4.8
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking winnow v0.7.10
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stdout] test given_game_state_internals_when_accessing_private_fields_then_the_code_does_not_compile has been running for over 60 seconds
[INFO] [stdout] test given_position_shift_internals_when_accessing_private_fields_then_the_code_does_not_compile has been running for over 60 seconds
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking nalgebra v0.32.6
[INFO] [stderr]     Checking clap v4.5.55
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking ravif v0.11.12
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking imageproc v0.25.0
[INFO] [stderr]     Checking billiards v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking billiards-tests v0.0.0 (/opt/rustwide/target/tests/trybuild/billiards)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 31s
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] test tests/ui/private_position_shift_fields.rs ... ok
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stdout] test given_position_shift_internals_when_accessing_private_fields_then_the_code_does_not_compile ... ok
[INFO] [stderr]     Checking billiards-tests v0.0.0 (/opt/rustwide/target/tests/trybuild/billiards)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] test tests/ui/private_game_state_fields.rs ... ok
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stdout] test given_game_state_internals_when_accessing_private_fields_then_the_code_does_not_compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 156.99s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/assets_and_drawing.rs (/opt/rustwide/target/debug/deps/assets_and_drawing-0bad77ac7b18799b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ball_collision_timing.rs (/opt/rustwide/target/debug/deps/ball_collision_timing-b0aceb6589fdfa3b)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test an_off_line_trajectory_that_misses_returns_none ... ok
[INFO] [stdout] test a_head_on_closing_ball_predicts_the_first_impact_time_and_feeds_the_ideal_collision_response ... ok
[INFO] [stdout] test balls_moving_apart_do_not_predict_a_future_collision ... ok
[INFO] [stdout] test an_oblique_predicted_impact_preserves_the_expected_line_of_centers_geometry ... ok
[INFO] [stdout] test the_phase_aware_predictor_uses_the_current_rolling_model_before_contact ... ok
[INFO] [stdout] test the_phase_aware_predictor_finds_a_grazing_collision_between_fixed_scan_samples ... ok
[INFO] [stdout] test the_phase_aware_predictor_returns_none_when_the_ball_stops_before_contact ... ok
[INFO] [stderr]      Running tests/ball_collisions.rs (/opt/rustwide/target/debug/deps/ball_collisions-2469b0cad5ed3fb9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test a_restitution_tuned_head_on_collision_is_less_lively_than_the_ideal_limit ... ok
[INFO] [stdout] test a_forty_five_degree_cut_transfers_half_the_kinetic_energy_to_the_object_ball ... ok
[INFO] [stdout] test a_thirty_degree_cut_transfers_cosine_scaled_speed_to_the_object_ball ... ok
[INFO] [stdout] test an_ideal_cut_collision_sends_the_object_ball_along_the_line_of_centers_and_the_cue_ball_along_the_tangent ... ok
[INFO] [stdout] test a_head_on_ideal_collision_transfers_forward_motion_without_transferring_spin ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ball_state.rs (/opt/rustwide/target/debug/deps/ball_state-e91114debb539ffd)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test on_table_ball_state_accepts_exactly_on_table_states ... ok
[INFO] [stdout] test on_table_ball_state_rejects_nonzero_height_and_vertical_velocity ... ok
[INFO] [stdout] test a_ball_with_height_or_vertical_velocity_classifies_as_airborne ... ok
[INFO] [stdout] test on_table_ball_state_threshold_validation_accepts_tiny_vertical_noise ... ok
[INFO] [stdout] test resting_at_preserves_position_and_zeroes_all_motion ... ok
[INFO] [stdout] test a_stationary_ball_with_only_vertical_axis_spin_classifies_as_spinning ... ok
[INFO] [stdout] test from_position_and_projected_position_round_trip_through_table_inches ... ok
[INFO] [stdout] test resting_on_table_ball_state_accepts_exact_resting_states ... ok
[INFO] [stdout] test default_ball_state_is_a_resting_ball_at_the_simulation_origin ... ok
[INFO] [stdout] test resting_on_table_ball_state_rejects_on_table_motion ... ok
[INFO] [stdout] test try_cloth_contact_helpers_reject_airborne_ball_states ... ok
[INFO] [stdout] test rolling_without_slip_has_zero_cloth_contact_speed_and_classifies_as_rolling ... ok
[INFO] [stdout] test resting_on_table_ball_state_threshold_validation_accepts_tiny_motion_and_normalizes_to_rest ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bank_paths.rs (/opt/rustwide/target/debug/deps/bank_paths-801941b2dc114946)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test sampling_with_a_large_time_step_matches_the_event_vertex_path ... ok
[INFO] [stdout] test tracing_until_one_rail_impact_stops_at_the_bank_point ... ok
[INFO] [stdout] test tracing_a_thirty_degree_mirror_bank_produces_a_two_segment_path ... ok
[INFO] [stdout] test sampling_with_a_small_time_step_inserts_intermediate_points ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/break_shots.rs (/opt/rustwide/target/debug/deps/break_shots-0fc9d42ced9b9cea)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/conditions.rs (/opt/rustwide/target/debug/deps/conditions-555fa9d668b93984)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test named_conditions_presets_resolve_to_builtin_profiles ... ok
[INFO] [stdout] test conditions_apply_across_each_rail_in_a_profile ... ok
[INFO] [stdout] test humid_dirty_conditions_increase_motion_damping_and_deaden_contacts ... ok
[INFO] [stdout] test neutral_conditions_leave_existing_configs_unchanged ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dsl.rs (/opt/rustwide/target/debug/deps/dsl-88e7da422150c470)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test rejects_alias_values_on_the_next_line ... ok
[INFO] [stdout] test parse_dsl_returns_a_crate_owned_error_with_a_byte_offset ... ok
[INFO] [stdout] test given_an_invalid_second_statement_when_parsing_then_the_error_offset_points_at_the_bad_token ... ok
[INFO] [stdout] test rejects_frozen_coordinates_past_the_end_of_a_rail ... ok
[INFO] [stdout] test rejects_missing_required_shot_methods ... ok
[INFO] [stdout] test rejects_multiline_coordinates ... ok
[INFO] [stdout] test given_comments_blank_lines_aliases_and_frozen_balls_when_building_then_positions_match_table_space ... ok
[INFO] [stdout] test rejects_a_non_cue_shot_target_in_v1 ... ok
[INFO] [stdout] test rejects_a_shot_that_uses_an_unknown_cue_strike ... ok
[INFO] [stdout] test rejects_duplicate_shot_methods ... ok
[INFO] [stdout] test a_chained_shot_scenario_builds_validated_domain_types_and_can_seed_the_engine ... ok
[INFO] [stdout] test rejects_out_of_range_ball_ball_restitution ... ok
[INFO] [stdout] test rejects_simulations_that_reference_unknown_named_physics ... ok
[INFO] [stdout] test shot_scenarios_can_derive_heading_with_cut_helpers ... ok
[INFO] [stdout] test rejects_unknown_playing_conditions_presets_in_simulations ... ok
[INFO] [stdout] test rejects_coordinates_outside_the_table_bounds ... ok
[INFO] [stdout] test shot_scenarios_can_derive_heading_with_pocket_alias ... ok
[INFO] [stdout] test shot_scenarios_can_derive_heading_with_to_pocket ... ok
[INFO] [stdout] test rejects_rails_profiles_that_reference_unknown_rail_responses ... ok
[INFO] [stdout] test shot_scenarios_can_derive_heading_with_cut_left_and_cut_right_aliases ... ok
[INFO] [stdout] test shot_scenarios_can_report_human_speed_validation ... ok
[INFO] [stdout] test shot_scenarios_still_build_plain_game_state_views ... ok
[INFO] [stdout] test shot_scenarios_can_use_named_rail_profiles_defined_in_dsl ... ok
[INFO] [stdout] test shot_speed_literals_accept_mph_and_kph ... ok
[INFO] [stdout] test shot_scenarios_can_trace_a_preview_path_through_the_engine ... ok
[INFO] [stdout] test shot_speed_literals_accept_dr_dave_named_and_numbered_presets ... ok
[INFO] [stdout] test shot_scenarios_can_use_named_ball_ball_configs_defined_in_dsl ... ok
[INFO] [stdout] test shot_scenarios_can_apply_named_playing_conditions_from_simulation_presets ... ok
[INFO] [stdout] test a_single_named_simulation_becomes_the_preferred_cli_physics_path ... ok
[INFO] [stdout] test shot_scenarios_can_use_named_simulations_defined_in_dsl ... ok
[INFO] [stdout] test shot_scenarios_can_build_a_typed_trace_and_render_the_final_layout_with_ball_traces ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 20.77s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lag_calibration.rs (/opt/rustwide/target/debug/deps/lag_calibration-048403b975ff9829)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test dr_dave_tp_b6_lag_speed_is_adjusted_for_starting_at_the_second_diamond ... ok
[INFO] [stdout] test human_tuned_spin_aware_rails_match_the_adjusted_rolling_lag_benchmark ... ok
[INFO] [stderr]      Running tests/motion_phase_classifier.rs (/opt/rustwide/target/debug/deps/motion_phase_classifier-d154baea7abf5ef5)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.65s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test projected_position_free_function_round_trips_through_table_inches ... ok
[INFO] [stdout] test a_stationary_ball_with_only_z_spin_is_classified_as_spinning ... ok
[INFO] [stdout] test rolling_without_slip_is_classified_as_rolling ... ok
[INFO] [stdout] test a_resting_ball_is_classified_as_rest ... ok
[INFO] [stdout] test a_ball_with_vertical_state_is_classified_as_airborne ... ok
[INFO] [stdout] test a_draw_ball_is_classified_as_sliding ... ok
[INFO] [stderr]      Running tests/motion_transitions.rs (/opt/rustwide/target/debug/deps/motion_transitions-4c5823c401f4a9df)
[INFO] [stdout] test an_overspin_ball_is_classified_as_sliding_until_roll_develops ... ok
[INFO] [stdout] test tiny_vertical_noise_below_the_airborne_threshold_is_still_classified_from_on_table_contact ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stderr]      Running tests/n_ball_advance.rs (/opt/rustwide/target/debug/deps/n_ball_advance-07fccb6a9d272d28)
[INFO] [stdout] test a_sliding_stun_ball_predicts_the_time_until_rolling_from_coulomb_friction ... ok
[INFO] [stdout] test a_spinning_ball_predicts_the_time_until_rest_using_constant_angular_deceleration ... ok
[INFO] [stdout] test a_rolling_ball_without_residual_z_spin_predicts_rest_at_linear_stop ... ok
[INFO] [stdout] test calibrated_spin_decay_preserves_a_spinning_tail_only_when_spin_outlasts_roll_stop ... ok
[INFO] [stdout] test a_sliding_draw_ball_uses_initial_cloth_contact_slip_speed_in_the_transition_time ... ok
[INFO] [stdout] test calibrated_spin_decay_sends_a_rolling_ball_directly_to_rest_when_spin_stops_first ... ok
[INFO] [stdout] test a_rolling_ball_with_residual_z_spin_predicts_spinning_after_linear_stop ... ok
[INFO] [stdout] test a_resting_ball_has_no_next_transition ... ok
[INFO] [stdout] test human_tuned_preview_motion_uses_explicit_dr_dave_cloth_coefficients ... ok
[INFO] [stdout] test a_seven_mph_stun_shot_reaches_roll_at_the_tp41_typical_cloth_distance ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test advancing_with_no_future_event_returns_the_original_n_ball_state ... ok
[INFO] [stdout] test advancing_to_a_rail_impact_only_resolves_the_impacted_ball ... ok
[INFO] [stdout] test advancing_shared_simultaneous_contacts_transfers_motion_into_the_cluster ... ok
[INFO] [stdout] test advancing_to_a_ball_ball_collision_only_resolves_the_participating_pair ... ok
[INFO] [stdout] test advancing_to_a_motion_transition_advances_all_n_balls_to_that_time ... ok
[INFO] [stdout] test advancing_simultaneous_disjoint_pair_collisions_resolves_both_pairs_in_one_step ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/n_ball_events.rs (/opt/rustwide/target/debug/deps/n_ball_events-3c1f1b8683fed1b3)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test the_n_ball_scheduler_picks_the_earliest_motion_transition_across_balls ... ok
[INFO] [stdout] test simultaneous_pair_collisions_break_ties_by_lowest_index_pair ... ok
[INFO] [stdout] test shared_simultaneous_ball_ball_contacts_report_the_approximation_strategy ... ok
[INFO] [stdout] test the_n_ball_scheduler_picks_the_earliest_ball_ball_collision_across_pairs ... ok
[INFO] [stdout] test the_n_ball_scheduler_returns_none_when_all_balls_are_resting_and_separated ... ok
[INFO] [stdout] test the_rail_aware_n_ball_scheduler_picks_the_earliest_rail_impact ... ok
[INFO] [stdout] test touching_follow_on_collision_is_scheduled_immediately_after_a_frozen_cluster_tie_break ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/n_ball_pockets.rs (/opt/rustwide/target/debug/deps/n_ball_pockets-4ba92e03a78c813b)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test a_fast_corner_pocket_entry_beyond_the_tp38_effective_target_angle_is_rejected ... ok
[INFO] [stdout] test a_fast_side_pocket_entry_beyond_the_effective_target_angle_is_rejected ... ok
[INFO] [stdout] test a_ball_heading_cleanly_into_a_corner_pocket_still_predicts_capture ... ok
[INFO] [stdout] test a_ball_aimed_at_a_side_pocket_jaw_predicts_a_jaw_impact ... ok
[INFO] [stdout] test a_near_jaw_entry_can_late_drop_on_the_same_jaw_impact_step ... ok
[INFO] [stdout] test a_single_ball_heading_into_the_side_pocket_predicts_capture_before_the_rail ... ok
[INFO] [stdout] test injected_pocket_shape_changes_the_predicted_jaw_impact_time ... ok
[INFO] [stdout] test advancing_a_near_jaw_side_pocket_entry_prefers_the_explicit_jaw_over_capture ... ok
[INFO] [stdout] test advancing_to_a_pocket_capture_marks_that_ball_pocketed_and_advances_other_balls ... ok
[INFO] [stdout] test pocket_aware_advancing_also_batches_disjoint_same_time_ball_ball_collisions ... ok
[INFO] [stdout] test simulating_with_pockets_until_rest_keeps_pocketed_balls_out_of_play_and_stops_the_rest ... ok
[INFO] [stdout] test a_shallow_side_jaw_glance_is_rejected_instead_of_late_dropping ... ok
[INFO] [stdout] test cached_pocket_aware_until_rest_simulation_matches_manual_event_stepping ... ok
[INFO] [stderr]      Running tests/n_ball_simulation.rs (/opt/rustwide/target/debug/deps/n_ball_simulation-74bf4b5bbdb8679f)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.71s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test simulating_n_balls_with_rails_until_rest_records_rail_impacts_and_ends_at_rest ... ok
[INFO] [stdout] test simulating_n_balls_until_rest_with_no_motion_returns_immediately ... ok
[INFO] [stdout] test simulating_a_frozen_three_ball_chain_records_the_zero_time_follow_on_collision ... ok
[INFO] [stdout] test simulating_n_balls_until_rest_records_collision_and_transition_events_until_everything_stops ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/next_events.rs (/opt/rustwide/target/debug/deps/next_events-ae7e65c9cd2a52fa)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test the_scheduler_uses_phase_aware_collision_timing_and_picks_stop_when_a_rolling_ball_cannot_reach_contact ... ok
[INFO] [stdout] test a_post_contact_continuation_exposes_the_cue_ball_branch_and_next_event ... ok
[INFO] [stdout] test the_scheduler_picks_a_ball_ball_collision_when_it_arrives_before_any_motion_transition ... ok
[INFO] [stdout] test the_scheduler_compares_the_two_balls_motion_transitions_and_returns_the_earliest_one ... ok
[INFO] [stdout] test the_scheduler_picks_a_motion_transition_when_it_precedes_a_later_collision ... ok
[INFO] [stdout] test follow_and_english_can_change_whether_the_scheduler_reaches_a_second_ball_after_contact ... ok
[INFO] [stdout] test the_scheduler_returns_none_when_both_balls_are_resting_and_not_colliding ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/non_ideal_ball_collisions.rs (/opt/rustwide/target/debug/deps/non_ideal_ball_collisions-1315450a92c946c8)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test a_cut_shot_without_side_spin_produces_cut_induced_throw_and_transferred_spin ... ok
[INFO] [stdout] test a_draw_cut_shot_with_english_uses_the_broader_post_impact_spin_model ... ok
[INFO] [stdout] test a_sliding_cut_shot_with_english_uses_the_broader_post_impact_english_model ... ok
[INFO] [stdout] test a_follow_cut_shot_with_english_uses_the_broader_post_impact_spin_model ... ok
[INFO] [stdout] test draw_bends_the_post_contact_cue_ball_path_away_from_the_incoming_shot_line ... ok
[INFO] [stdout] test a_nearly_head_on_rolling_collision_does_not_pick_up_throw_from_tiny_tangent_noise ... ok
[INFO] [stdout] test a_cut_shot_without_initial_english_does_not_seed_exaggerated_cue_ball_side_spin ... ok
[INFO] [stdout] test a_rolling_cut_shot_with_english_uses_the_tp_a8_style_cue_ball_post_impact_state ... ok
[INFO] [stdout] test follow_and_draw_reduce_near_head_on_throw_relative_to_stun ... ok
[INFO] [stdout] test head_on_backspin_transfers_forward_spin_to_the_object_ball ... ok
[INFO] [stdout] test gearing_english_cancels_throw_for_a_stationary_object_ball_cut ... ok
[INFO] [stdout] test over_gearing_flips_the_throw_and_transferred_spin_directions ... ok
[INFO] [stdout] test opposite_english_signs_do_not_produce_separate_curve_estimates_in_the_horizontal_model ... ok
[INFO] [stdout] test side_spin_alone_no_longer_produces_a_post_contact_curve_estimate_in_the_horizontal_model ... ok
[INFO] [stderr]      Running tests/physics.rs (/opt/rustwide/target/debug/deps/physics-a1d488112d6eb2b8)
[INFO] [stdout] test the_collision_outcome_convenience_method_reports_no_bend_when_the_cue_ball_stops_immediately ... ok
[INFO] [stdout] test throw_aware_head_on_collision_matches_ideal_and_reports_zero_throw ... ok
[INFO] [stdout] test spin_friction_matches_throw_aware_for_a_stationary_object_ball_cut ... ok
[INFO] [stdout] test spin_friction_can_apply_non_ideal_throw_to_a_moving_object_ball ... ok
[INFO] [stdout] test throw_aware_impulses_conserve_horizontal_momentum ... ok
[INFO] [stdout] test the_side_spin_curve_estimate_is_none_without_residual_z_spin ... ok
[INFO] [stdout] test follow_bends_the_post_contact_cue_ball_path_toward_the_incoming_shot_line ... ok
[INFO] [stdout] test the_analyzed_collision_helper_threads_the_post_contact_bend_estimate ... ok
[INFO] [stdout] test throw_magnitude_follows_the_contact_impulse_instead_of_a_fixed_angle ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test given_cue_and_object_ball_headings_when_measuring_cut_angle_then_the_acute_impact_magnitude_is_returned ... ok
[INFO] [stdout] test given_a_three_four_displacement_when_measuring_its_angle_from_north_then_the_expected_heading_is_returned ... ok
[INFO] [stdout] test given_a_position_and_a_pocket_when_measuring_to_and_from_the_pocket_then_the_directions_are_opposites ... ok
[INFO] [stdout] test gearing_english_uses_radians_for_the_cut_angle ... ok
[INFO] [stdout] test gearing_english_is_zero_for_a_straight_shot ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/position_geometry.rs (/opt/rustwide/target/debug/deps/position_geometry-7dfc38a9e9ac8c9b)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test given_a_position_when_translating_inches_and_resolving_then_the_equivalent_diamond_shift_is_applied ... ok
[INFO] [stdout] test given_a_position_when_translating_to_the_ghost_ball_then_it_moves_by_one_ball_diameter ... ok
[INFO] [stdout] test given_the_top_right_corner_when_translating_inwards_then_both_coordinates_move_toward_center ... ok
[INFO] [stdout] test given_a_position_when_translating_in_cardinal_directions_then_the_expected_coordinates_are_reached ... ok
[INFO] [stdout] test given_each_rail_when_freezing_a_ball_then_the_ball_center_sits_one_radius_in_from_the_cushion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rack_and_displacement.rs (/opt/rustwide/target/debug/deps/rack_and_displacement-8d725ce9607e1607)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test given_a_three_four_five_displacement_when_measuring_distance_then_the_pythagorean_length_is_returned ... ok
[INFO] [stdout] test given_racked_ball_positions_when_returned_then_adjacent_balls_are_already_one_diameter_apart ... ok
[INFO] [stdout] test given_racked_ball_positions_when_checked_then_the_triangle_is_frozen_without_gaps_or_overlaps ... ok
[INFO] [stdout] test given_a_nine_ball_rack_when_built_then_the_nine_ball_sits_behind_the_head_ball_in_the_middle_of_the_triangle ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rail_collisions.rs (/opt/rustwide/target/debug/deps/rail_collisions-9f2e14d17f6d50bf)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test a_larger_effective_contact_height_ratio_seeds_more_forward_roll_for_a_stun_entry ... ok
[INFO] [stdout] test a_forty_five_degree_bank_reflects_symmetrically_in_the_ideal_model ... ok
[INFO] [stdout] test a_rolling_entry_with_carried_side_spin_scrubs_some_of_that_spin_at_the_rail ... ok
[INFO] [stdout] test a_higher_impact_cloth_friction_coefficient_reduces_post_rail_cloth_slip_for_rolling_entries ... ok
[INFO] [stdout] test a_rail_profile_can_make_different_rails_play_differently ... ok
[INFO] [stdout] test a_slightly_overspinning_entry_still_can_reverse_spin_relative_to_the_new_direction ... ok
[INFO] [stdout] test a_spin_aware_rail_collision_with_topspin_reduces_vertical_plane_spin ... ok
[INFO] [stdout] test a_spin_aware_overspin_entry_can_leave_with_reverse_vertical_plane_spin ... ok
[INFO] [stdout] test a_spin_aware_rolling_entry_exits_much_closer_to_tp73_near_stun_than_a_mirror_rebound ... ok
[INFO] [stdout] test a_rolling_ball_rebounding_from_a_rail_carries_draw_like_spin_relative_to_its_new_direction ... ok
[INFO] [stdout] test a_spin_aware_rail_collision_with_high_cushion_friction_trades_more_tangential_speed_for_running_english ... ok
[INFO] [stdout] test a_spin_aware_rail_collision_exhibits_partial_slip_when_friction_is_low ... ok
[INFO] [stdout] test a_rolling_low_english_entry_leaves_the_rail_with_bounded_horizontal_cloth_slip ... ok
[INFO] [stdout] test an_ideal_rail_collision_leaves_spin_unchanged ... ok
[INFO] [stdout] test a_square_hit_on_a_horizontal_rail_reflects_straight_back ... ok
[INFO] [stdout] test gearing_english_preserves_side_spin_better_than_tangential_speed_under_table_contact ... ok
[INFO] [stdout] test near_zero_cushion_contact_slip_changes_the_rail_response_continuously ... ok
[INFO] [stdout] test a_restitution_only_rail_collision_reduces_the_outgoing_normal_speed ... ok
[INFO] [stdout] test an_ordinary_no_english_rolling_entry_seeds_less_running_english_than_a_sliding_entry ... ok
[INFO] [stdout] test zero_cushion_contact_slip_does_not_choose_an_arbitrary_cushion_friction_direction ... ok
[INFO] [stdout] test zero_cloth_contact_slip_does_not_choose_an_arbitrary_table_friction_direction ... ok
[INFO] [stdout] test a_spin_aware_stun_entry_picks_up_some_forward_vertical_plane_roll_from_tp73_geometry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rail_event_execution.rs (/opt/rustwide/target/debug/deps/rail_event_execution-031e490250b99947)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test simulating_with_configured_restitution_records_the_rail_impact ... ok
[INFO] [stdout] test advancing_to_a_ball_a_rail_impact_reflects_that_ball_and_advances_ball_b_too ... ok
[INFO] [stdout] test advancing_with_rails_and_no_future_event_returns_the_original_two_ball_state ... ok
[INFO] [stdout] test advancing_to_a_ball_b_rail_impact_reflects_that_ball_and_advances_ball_a_too ... ok
[INFO] [stdout] test advancing_to_a_restitution_only_rail_impact_uses_the_configured_restitution ... ok
[INFO] [stdout] test advancing_to_a_spin_aware_rail_impact_uses_the_configured_restitution_and_spin_response ... ok
[INFO] [stdout] test simulating_with_rails_records_a_rail_impact_and_consumes_remaining_time_afterward ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rail_event_scheduling.rs (/opt/rustwide/target/debug/deps/rail_event_scheduling-6d379c5c7bf4bcba)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test a_ball_already_touching_a_rail_and_moving_into_it_predicts_an_immediate_impact ... ok
[INFO] [stdout] test post_collision_side_spin_can_change_whether_the_cue_ball_reaches_a_rail_during_sliding ... ok
[INFO] [stdout] test a_rolling_ball_returns_none_when_it_stops_before_the_rail ... ok
[INFO] [stdout] test follow_and_english_can_change_the_next_rail_aware_event_after_first_contact ... ok
[INFO] [stdout] test a_rolling_ball_predicts_a_top_rail_impact_before_it_stops ... ok
[INFO] [stdout] test the_rail_aware_scheduler_picks_a_rail_impact_before_a_later_motion_transition ... ok
[INFO] [stdout] test the_rail_aware_scheduler_still_prefers_motion_transition_when_the_rail_is_not_reachable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rendering_geometry.rs (/opt/rustwide/target/debug/deps/rendering_geometry-fa2812b23d532038)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test drawing_with_a_transparent_background_leaves_an_empty_table_fully_transparent ... ok
[INFO] [stdout] test drawing_with_a_transparent_background_still_renders_visible_balls ... ok
[INFO] [stdout] test adding_a_ghost_ball_renders_a_ball_sized_overlay_centered_on_the_requested_position ... ok
[INFO] [stdout] test drawing_resolves_pending_inches_shifts_before_rendering ... ok
[INFO] [stdout] test out_of_range_ball_positions_still_render_a_full_sprite_inside_the_image ... ok
[INFO] [stdout] test adding_a_dotted_aim_line_to_a_pocket_matches_a_manually_computed_ghost_ball_overlay has been running for over 60 seconds
[INFO] [stdout] test adding_a_dotted_ball_path_matches_manually_drawing_its_projected_segments has been running for over 60 seconds
[INFO] [stdout] test drawing_with_scale_factor_two_doubles_the_output_dimensions has been running for over 60 seconds
[INFO] [stdout] test rendered_ball_is_centered_on_the_requested_table_position ... ok
[INFO] [stdout] test rendered_ball_uses_the_table_geometry_diameter ... ok
[INFO] [stdout] test overlays_can_be_drawn_above_balls_when_requested ... ok
[INFO] [stdout] test rendered_ball_paths_can_use_one_shared_renderer_for_fixed_and_speed_scaled_widths ... ok
[INFO] [stdout] test adding_a_dotted_aim_line_to_a_pocket_matches_a_manually_computed_ghost_ball_overlay ... ok
[INFO] [stdout] test drawing_with_scale_factor_two_doubles_the_output_dimensions ... ok
[INFO] [stdout] test adding_a_dotted_ball_path_matches_manually_drawing_its_projected_segments ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 114.43s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scenario_examples.rs (/opt/rustwide/target/debug/deps/scenario_examples-9d79603094d04379)
[INFO] [stderr]      Running tests/shot_strikes.rs (/opt/rustwide/target/debug/deps/shot_strikes-3d4934ae78e80737)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test unsupported_large_tip_offset_can_still_report_no_separation_with_a_relaxed_miscue_limit ... ok
[INFO] [stdout] test a_two_fifths_high_center_hit_seeds_natural_roll ... ok
[INFO] [stdout] test a_follow_shot_seeds_topspin_in_the_shot_frame ... ok
[INFO] [stdout] test a_center_ball_shot_seeds_forward_speed_without_spin ... ok
[INFO] [stdout] test excessive_tip_offset_reports_a_miscue_before_other_strike_failures ... ok
[INFO] [stdout] test a_draw_shot_seeds_reverse_topspin_in_the_shot_frame ... ok
[INFO] [stdout] test shot_heading_rotates_velocity_and_horizontal_spin_into_table_coordinates ... ok
[INFO] [stdout] test side_offset_seeds_vertical_axis_spin ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/shot_types.rs (/opt/rustwide/target/debug/deps/shot_types-f991b2fa81f274b2)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test cue_strike_config_accepts_positive_mass_ratio_and_unit_interval_energy_loss ... ok
[INFO] [stdout] test dr_dave_shot_speed_presets_round_trip_and_format_nearest_speed ... ok
[INFO] [stdout] test cue_tip_contact_accepts_center_and_preserves_radius_scaled_offsets ... ok
[INFO] [stdout] test human_speed_validation_reports_a_128_ips_center_ball_hit_as_an_ordinary_table_shot ... ok
[INFO] [stdout] test shot_accepts_nonnegative_cue_speed_and_preserves_inputs ... ok
[INFO] [stdout] test shot_can_be_constructed_from_a_cue_ball_launch_speed ... ok
[INFO] [stdout] test shot_rejects_negative_cue_speed ... ok
[INFO] [stdout] test cue_strike_config_rejects_nonpositive_mass_ratio_and_out_of_range_energy_loss_or_miscue_limit ... ok
[INFO] [stdout] test human_speed_validation_flags_speeds_beyond_exceptional_human_break_range ... ok
[INFO] [stderr]      Running tests/simulation_units.rs (/opt/rustwide/target/debug/deps/simulation_units-7e4807e798f3448c)
[INFO] [stdout] test cue_tip_contact_rejects_offsets_outside_the_ball_disc ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test inches_per_second_round_trips_with_miles_per_hour ... ok
[INFO] [stdout] test angular_units_convert_between_surface_speed_and_spin_rate ... ok
[INFO] [stdout] test velocity2_times_time_yields_an_inches_vector ... ok
[INFO] [stdout] test linear_units_compose_into_distance_and_speed ... ok
[INFO] [stdout] test zero_vectors_have_no_heading ... ok
[INFO] [stdout] test velocity2_round_trips_between_cartesian_and_polar_forms ... ok
[INFO] [stdout] test angular_velocity3_exposes_named_components ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/table_and_pocket_geometry.rs (/opt/rustwide/target/debug/deps/table_and_pocket_geometry-e5642cf1a83f2a1b)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test given_each_rail_when_building_a_bank_heading_from_the_normal_then_it_matches_the_table_compass ... ok
[INFO] [stdout] test given_a_bank_angle_from_the_rail_face_when_building_a_heading_then_it_matches_the_equivalent_normal_angle ... ok
[INFO] [stdout] test given_each_rail_when_querying_its_origin_and_orientation_then_the_values_match_the_table_axes ... ok
[INFO] [stdout] test given_the_center_spot_when_aiming_at_the_side_pockets_then_the_angles_follow_the_table_compass ... ok
[INFO] [stdout] test given_a_brunswick_gc4_table_when_constructed_then_the_standard_lengths_and_pocket_openings_are_expressed_in_diamonds ... ok
[INFO] [stderr]      Running tests/trace_bounds.rs (/opt/rustwide/target/debug/deps/trace_bounds-5787125d3e709a9d)
[INFO] [stdout] test default_table_pocket_shapes_are_composed_and_overridable_per_pocket ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test full_rack_break_scenario_trace_points_stay_within_table_diamonds ... ignored, slow full-rack break trace bound check; run explicitly before trace renderer rewrites
[INFO] [stdout] test mini_break_scenario_trace_points_stay_within_table_diamonds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 19.52s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/two_ball_simulation.rs (/opt/rustwide/target/debug/deps/two_ball_simulation-964dac8f078baa83)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test simulating_for_less_than_the_next_event_advances_both_balls_without_recording_any_event ... ok
[INFO] [stdout] test simulating_past_one_event_records_it_and_consumes_the_remaining_time_afterward ... ok
[INFO] [stdout] test simulating_through_multiple_events_records_them_in_order ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/units_api.rs (/opt/rustwide/target/debug/deps/units_api-2d0fc72fbd245071)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]     Checking billiards-tests v0.0.0 (/opt/rustwide/target/tests/trybuild/billiards)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] test tests/ui/inches_times_inches.rs ... mismatch
[INFO] [stderr] 
[INFO] [stderr] EXPECTED:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error[E0277]: cannot multiply `Inches` by `Inches`
[INFO] [stderr]  --> tests/ui/inches_times_inches.rs:9:28
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let _ = inches.clone() * inches;
[INFO] [stderr]   |                            ^ no implementation for `Inches * Inches`
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Mul` is not implemented for `Inches`
[INFO] [stderr]   = help: the following other types implement trait `Mul<Rhs>`:
[INFO] [stderr]             `Inches` implements `Mul<RadiansPerSecond>`
[INFO] [stderr]             `Inches` implements `Mul<Scale>`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] 
[INFO] [stderr] ACTUAL OUTPUT:
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] error[E0277]: cannot multiply `Inches` by `Inches`
[INFO] [stderr]  --> tests/ui/inches_times_inches.rs:9:28
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let _ = inches.clone() * inches;
[INFO] [stderr]   |                            ^ no implementation for `Inches * Inches`
[INFO] [stderr]   |
[INFO] [stderr]   = help: the trait `Mul` is not implemented for `Inches`
[INFO] [stderr] help: `Inches` implements trait `Mul<Rhs>`
[INFO] [stderr]  --> src/lib.rs
[INFO] [stderr]   |
[INFO] [stderr]   | impl Mul<Scale> for Inches {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `Mul<Scale>`
[INFO] [stderr] ...
[INFO] [stderr]   | impl Mul<RadiansPerSecond> for Inches {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Mul<RadiansPerSecond>`
[INFO] [stderr] ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
[INFO] [stderr] note: If the actual output is the correct output you can bless it by rerunning
[INFO] [stderr]       your test with the environment variable TRYBUILD=overwrite
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] error: test failed, to rerun pass `--test units_api`
[INFO] [stdout] test given_two_lengths_when_multiplying_them_then_the_code_does_not_compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- given_two_lengths_when_multiplying_them_then_the_code_does_not_compile stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'given_two_lengths_when_multiplying_them_then_the_code_does_not_compile' (2411) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/trybuild-1.0.115/src/run.rs:102:13:
[INFO] [stdout] 1 of 1 tests failed
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a5f95a0183a - std[fce30c26ee6459b]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a5f95a0183a - std[fce30c26ee6459b]::backtrace_rs::backtrace::trace_unsynchronized::<std[fce30c26ee6459b]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a5f95a0183a - std[fce30c26ee6459b]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a5f95a0183a - <<std[fce30c26ee6459b]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[d17f6591d688f3bd]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a5f95a17daa - <core[d17f6591d688f3bd]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a5f95a17daa - core[d17f6591d688f3bd]::fmt::write
[INFO] [stdout]    6:     0x5a5f95a06872 - std[fce30c26ee6459b]::io::default_write_fmt::<alloc[dad09f3a48280dba]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5a5f95a06872 - <alloc[dad09f3a48280dba]::vec::Vec<u8> as std[fce30c26ee6459b]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5a5f959dd58f - <std[fce30c26ee6459b]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a5f959dd58f - std[fce30c26ee6459b]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a5f959f8c49 - std[fce30c26ee6459b]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a5f9599227c - <alloc[dad09f3a48280dba]::boxed::Box<dyn for<'a, 'b> core[d17f6591d688f3bd]::ops::function::Fn<(&'a std[fce30c26ee6459b]::panic::PanicHookInfo<'b>,), Output = ()> + core[d17f6591d688f3bd]::marker::Sync + core[d17f6591d688f3bd]::marker::Send> as core[d17f6591d688f3bd]::ops::function::Fn<(&std[fce30c26ee6459b]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5a5f9599227c - test[9653f4f1d2ca1489]::test_main_inner::<test[9653f4f1d2ca1489]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5a5f959f8e02 - <alloc[dad09f3a48280dba]::boxed::Box<dyn for<'a, 'b> core[d17f6591d688f3bd]::ops::function::Fn<(&'a std[fce30c26ee6459b]::panic::PanicHookInfo<'b>,), Output = ()> + core[d17f6591d688f3bd]::marker::Sync + core[d17f6591d688f3bd]::marker::Send> as core[d17f6591d688f3bd]::ops::function::Fn<(&std[fce30c26ee6459b]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5a5f959f8e02 - std[fce30c26ee6459b]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a5f959dd648 - std[fce30c26ee6459b]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a5f959d2569 - std[fce30c26ee6459b]::sys::backtrace::__rust_end_short_backtrace::<std[fce30c26ee6459b]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a5f959de35d - __rustc[de152adb51f02556]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a5f95a1853c - core[d17f6591d688f3bd]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a5f958413c4 - <trybuild[11e38c5b1733e6f4]::Runner>::run
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/trybuild-1.0.115/src/run.rs:102:13
[INFO] [stdout]   20:     0x5a5f9584ce58 - <trybuild[11e38c5b1733e6f4]::TestCases as core[d17f6591d688f3bd]::ops::drop::Drop>::drop
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/trybuild-1.0.115/src/lib.rs:342:38
[INFO] [stdout]   21:     0x5a5f95749c07 - core[d17f6591d688f3bd]::ptr::drop_in_place::<trybuild[11e38c5b1733e6f4]::TestCases>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/ptr/mod.rs:809:1
[INFO] [stdout]   22:     0x5a5f95749e13 - units_api[7748d6fe31157581]::given_two_lengths_when_multiplying_them_then_the_code_does_not_compile
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/units_api.rs:5:1
[INFO] [stdout]   23:     0x5a5f95749d67 - units_api[7748d6fe31157581]::given_two_lengths_when_multiplying_them_then_the_code_does_not_compile::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/units_api.rs:2:76
[INFO] [stdout]   24:     0x5a5f9574a2a6 - <units_api[7748d6fe31157581]::given_two_lengths_when_multiplying_them_then_the_code_does_not_compile::{closure#0} as core[d17f6591d688f3bd]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5a5f9598555b - <fn() -> core[d17f6591d688f3bd]::result::Result<(), alloc[dad09f3a48280dba]::string::String> as core[d17f6591d688f3bd]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5a5f9598555b - test[9653f4f1d2ca1489]::__rust_begin_short_backtrace::<core[d17f6591d688f3bd]::result::Result<(), alloc[dad09f3a48280dba]::string::String>, fn() -> core[d17f6591d688f3bd]::result::Result<(), alloc[dad09f3a48280dba]::string::String>>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/test/src/lib.rs:724:18
[INFO] [stdout]   27:     0x5a5f95992d4b - test[9653f4f1d2ca1489]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x5a5f95992d4b - <core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<test[9653f4f1d2ca1489]::run_test_in_process::{closure#0}> as core[d17f6591d688f3bd]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x5a5f95992d4b - std[fce30c26ee6459b]::panicking::catch_unwind::do_call::<core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<test[9653f4f1d2ca1489]::run_test_in_process::{closure#0}>, core[d17f6591d688f3bd]::result::Result<(), alloc[dad09f3a48280dba]::string::String>>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5a5f95992d4b - std[fce30c26ee6459b]::panicking::catch_unwind::<core[d17f6591d688f3bd]::result::Result<(), alloc[dad09f3a48280dba]::string::String>, core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<test[9653f4f1d2ca1489]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5a5f95992d4b - std[fce30c26ee6459b]::panic::catch_unwind::<core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<test[9653f4f1d2ca1489]::run_test_in_process::{closure#0}>, core[d17f6591d688f3bd]::result::Result<(), alloc[dad09f3a48280dba]::string::String>>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5a5f95992d4b - test[9653f4f1d2ca1489]::run_test_in_process
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x5a5f95992d4b - test[9653f4f1d2ca1489]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x5a5f9598c464 - test[9653f4f1d2ca1489]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x5a5f9598c464 - std[fce30c26ee6459b]::sys::backtrace::__rust_begin_short_backtrace::<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5a5f95995952 - std[fce30c26ee6459b]::thread::lifecycle::spawn_unchecked::<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x5a5f95995952 - <core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<std[fce30c26ee6459b]::thread::lifecycle::spawn_unchecked<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[d17f6591d688f3bd]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x5a5f95995952 - std[fce30c26ee6459b]::panicking::catch_unwind::do_call::<core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<std[fce30c26ee6459b]::thread::lifecycle::spawn_unchecked<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5a5f95995952 - std[fce30c26ee6459b]::panicking::catch_unwind::<(), core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<std[fce30c26ee6459b]::thread::lifecycle::spawn_unchecked<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5a5f95995952 - std[fce30c26ee6459b]::panic::catch_unwind::<core[d17f6591d688f3bd]::panic::unwind_safe::AssertUnwindSafe<std[fce30c26ee6459b]::thread::lifecycle::spawn_unchecked<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5a5f95995952 - std[fce30c26ee6459b]::thread::lifecycle::spawn_unchecked::<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x5a5f95995952 - <std[fce30c26ee6459b]::thread::lifecycle::spawn_unchecked<test[9653f4f1d2ca1489]::run_test::{closure#1}, ()>::{closure#1} as core[d17f6591d688f3bd]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5a5f95a00b7f - <alloc[dad09f3a48280dba]::boxed::Box<dyn core[d17f6591d688f3bd]::ops::function::FnOnce<(), Output = ()> + core[d17f6591d688f3bd]::marker::Send> as core[d17f6591d688f3bd]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   44:     0x5a5f95a00b7f - <std[fce30c26ee6459b]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b8e88e5ddf5521a9f43ee3f62a702388c713e4bb/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x7e401d58aaa4 - <unknown>
[INFO] [stdout]   46:     0x7e401d617a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     given_two_lengths_when_multiplying_them_then_the_code_does_not_compile
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.43s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cf4d64f0f64127d2c44e08b521e9c40215a227f57dc8929e4b296fe115d0e28b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf4d64f0f64127d2c44e08b521e9c40215a227f57dc8929e4b296fe115d0e28b", kill_on_drop: false }`
[INFO] [stdout] cf4d64f0f64127d2c44e08b521e9c40215a227f57dc8929e4b296fe115d0e28b
